import App from './App'

// #ifndef VUE3
import Vue from 'vue'
Vue.config.productionTip = false
App.mpType = 'app'
// main.js，注意要在use方法之后执行
import uView from 'uview-ui'
Vue.use(uView)
// 如此配置即可
uni.$u.config.unit = 'rpx'


// vuex
import store from './store/index.js'
Vue.prototype.$store = store

// 配置全局请求
import http from '@/common/ajax';
Vue.prototype.http = http;
console.log(http, '全局http')

import request from '@/common/request.js'
request.setConfig({
	baseUrl: http['base_url'], // 此为测试地址，需加入到域名白名单，或者更改为您自己的线上地址即可
	// dataType: 'json', // 可删除，默认为json
	// responseType: 'text', // 可删除，默认为text
	// 设置请求头，支持所有请求头设置，也可不设置，去掉header就行
	header: {
		'token': uni.getStorageSync('token'), //全局token
		'content-type': 'application/json'
	}
})
Vue.prototype.$request = request;


// try {
// 	function isPromise(obj) {
// 		return (
// 			!!obj &&
// 			(typeof obj === "object" || typeof obj === "function") &&
// 			typeof obj.then === "function"
// 		);
// 	}

// 	// 统一 vue2 API Promise 化返回格式与 vue3 保持一致
// 	uni.addInterceptor({
// 		returnValue(res) {
// 			if (!isPromise(res)) {
// 				return res;
// 			}
// 			return new Promise((resolve, reject) => {
// 				res.then((res) => {
// 					if (res[0]) {
// 						reject(res[0]);
// 					} else {
// 						resolve(res[1]);
// 					}
// 				});
// 			});
// 		},
// 	});
// } catch (error) {}

const app = new Vue({
	...App
})
app.$mount()
// #endif

// #ifdef VUE3
import {
	createSSRApp
} from 'vue'
export function createApp() {
	const app = createSSRApp(App)
	return {
		app
	}
}
// #endif